package com.ruoyi.integration.service;

import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.ruoyi.integration.dto.GlobalZRangeRequestDTO;
import com.ruoyi.integration.dto.HeatMapRequestDTO;
import com.ruoyi.integration.dto.RGBFusionSlicing;
import com.ruoyi.integration.dto.ZFromLonLatRequestDTO;

public interface MapRenderService {

    /**
     * 获取生态图Z值取值范围以及自然断点分级法断点数据
     * @param minioBucket
     * @param minioObject
     * @param jenksCount
     */
    JSONObject getRifZRange(String minioBucket, String minioObject, Integer jenksCount);

    /**
     * 获取生态图Z值取值范围及分类数据
     * @param minioBucket
     * @param minioObject
     * @return
     */
    JSONObject getTifClassfi(String minioBucket, String minioObject);

    /**
     * 获取全局生态图Z值范围及分自然分级法断点数据
     * @param globalZRangeRequestDTO
     */
    JSONObject getTifGlobalZRange(GlobalZRangeRequestDTO globalZRangeRequestDTO);

    /**
     * 根据生态图生成渲染图
     * @param heatMapRequestDTO
     * @return
     */
    JSONObject tif2HeatMap(HeatMapRequestDTO heatMapRequestDTO);

    /**
     * 根据指定经纬度获取生态图Z值
     * @param zFromLonLatRequestDTO
     * @return
     */
    JSONObject getTifZData(ZFromLonLatRequestDTO zFromLonLatRequestDTO);

    /**
     * 多光谱RGB融合切片
     * @param rgbFusionSlicing
     * @return
     */

    JSONObject multisBandsTif2png(RGBFusionSlicing rgbFusionSlicing);
}